package com.jgp.glmeeting.service;

import com.jgp.glmeeting.mobile.commons.BaseResponse;
import com.jgp.glmeeting.model.Participants;
import com.jgp.sys.ui.Pager;

import java.util.List;

public interface ParticipantsService {

    Participants queryById(String id);

    //添加用户
    void addParticipants(Participants u);

    //查询所有人(分页)
    List<Participants> queryParticipants(Participants u, Pager pager);

    //根据用户id删除
    void removeParticipants(String id);

    //过滤查询剩余所有人分页
    List<Participants> queryLastParticipants(Participants u, Pager pager, List<String> Participantsids);

    /**
     * 根据小程序openId查询参会人员
     * @param openId
     * @return
     */
    Participants queryParticipantsByOpenId(String openId);

    /**
     * 小程序绑定用户信息
     * @param openId
     * @param mobilePhone
     * @return
     */
    BaseResponse bindParticipants(String openId, String mobilePhone);

    /**
     * 查询同组人员（除了自己）
     * @param participantsId
     * @param group
     * @return
     */
    List<Participants> queryListByGroupAndId(String participantsId, String group);


    /**
     * 根据号码查询人员信息
     */
    Participants queryParticipantsBymobilePhone(String mobilePhone);

    /**
     * 人员签到
     * @param ids
     * @param group
     * @return
     */
    List<Participants> sign(List<String> ids, String group);


    /**
     * 修改人员信息
     * @param participants
     */
    void editParticipantsForMobile(Participants participants);


    /**
     * 更新参数人员是否打印发票的状态
     * @param ids
     */
    void updateInvoicedByIds(List<String> ids);

}
